草庐IT

Java jackson org.codehaus.jackson.map.exc.UnrecognizedPropertyException

全部标签

java - 自定义 Jackson 解串器获取当前字段类的访问权限

我正在尝试为Jackson编写一个自定义反序列化器,我想让它成为通用的(在处理任何类型的意义上是通用的,而不是“泛型”)。但是我似乎无法弄清楚如何获得反序列化字段类型的句柄。例如,我希望执行以下操作:@OverridepublicMyObjectdeserialize(JsonParserjp,DeserializationContextctxt)throwsIOException,JsonProcessingException{Classc=//dosomethingwiththattypereturnnewSubclassOfC(somedatabasedonc);}特别是获取当前

java - jackson 处理包裹元素

我正在解析来自last.fmAPI的响应。但似乎他们对某些响应使用了一些包装器,这造成了一些痛苦。举个例子:{"artists":{"artist":[{"name":"Coldplay","playcount":"816763","listeners":"120815","mbid":"cc197bad-dc9c-440d-a5b5-d52ba2e14234","url":"http:\/\/www.last.fm\/music\/Coldplay","streamable":"1"},{"name":"Radiohead","playcount":"846668","listene

java - 使用 Jackson JSON 解析器 : Complex JSON?

我有一个复杂的JSON,我正在尝试使用JacksonJSON进行解析。我对如何进入latLng对象以提取lat、lng值感到有点困惑。这是JSON的一部分:{"results":[{"locations":[{"latLng":{"lng":-76.85165,"lat":39.25108},"adminArea4":"HowardCounty","adminArea5Type":"City","adminArea4Type":"County",这是我目前在Java中提取的内容:publicclassparkJSON{publiclatLng_latLng;publicstaticcl

java - Jackson JSON 映射键作为包含对象的属性

给定这样的结构:{"nameOfObject":{"score":100},"anotherObject":{"score":30}}是否可以将其映射到:classContainer{MapscoreKeepers;}classScoreKeeper{Stringname;intscore;}这样您就可以将ScoreKeeper实例的name属性设置为"nameOfObject"和"anotherObject",分别? 最佳答案 我坚信将POJO与外部化分开。将您的JSON读入Map中,然后像这样构建您的Container/Scor

java - 使用自定义值验证 map

我有以下map:Map我的目标是使用hamcrest匹配器验证此map的容量。我尝试了以下方法:assertThat(map,hasEntry("key",(MyCustomObject)hasItem(hasProperty("propertyName",equalTo("value")))));但是看起来hasItem方法只适用于集合。是否有任何替代方法来验证自定义对象?newMyCustomObject()在我的案例中不起作用,因为测试因哈希码相等而失败。而且,另一件事是我无法修改MyCustomObject类。 最佳答案 你

java - 没有 @JsonFilter 注解的 Jackson JSON 过滤器

我正在尝试使用Jackson库过滤API端点的响应。我可以使用@JsonFilter("[filterNameHere]")但这最终会导致类期望每次都应用过滤器。有没有一种方法可以只过滤一个特定实例的响应?Pizzapizza=pizzaService.getPizzaById(pizzaId);ObjectMappermapper=newObjectMapper();FilterProviderfilters=newSimpleFilterProvider().addFilter("baseFilter",SimpleBeanPropertyFilter.serializeAllEx

java - ZonedDateTime 的 Jackson 反序列化问题

我在反序列化我正在使用的服务期间使用的类中有以下字段。privateZonedDateTimetransactionDateTime;我使用的服务可能会使用以下模式返回日期或日期时间:yyyy-MM-dd'T'HH:mm:ss.SSSZ让我举两个例子说明服务返回的内容:2015-11-18T18:05:38.000+02002015-11-18T00:00:00.000+0200虽然第一个运行良好,但后者会导致在反序列化过程中抛出以下异常:java.time.format.DateTimeParseException:Text'2015-11-18T00:00:00.000+0200'

java - 无法在项目 nextrtc-signaling-serverrror 上执行目标 org.codehaus.mojo :exec-maven-plugin:1. 5.0:java (default-cli)

我测试了nextrtc-signaling-server,它是Java开源的。但是我遇到了构建Maven的问题。我希望这个问题得到解决。我的控制台日志。[INFO]Buildingjar:D:\signallinServer\nextrtc-signaling-server\target\nextrtc-signaling-server-0.0.4-SNAPSHOT-javadoc.jar[INFO][INFO]---exec-maven-plugin:1.5.0:java(default-cli)@nextrtc-signaling-server---[INFO]----------

java - Jackson 模块签名阻止为自引用泛型类型添加序列化程序

我想为JSR363添加自定义序列化器和反序列化器javax.measure.Quantity>,它基本上封装了一个“值”和一个“单元”。创建序列化器(extendsJsonSerializer>)和反序列化器(extendsStdDeserializer>)很容易。但是要注册它们并不容易。对于反序列化器,没关系;看签名:SimpleModule.addDeserializer(Classtype,JsonDeserializerdeser)请注意,反序列化器允许扩展泛型。所以我可以这样做:module.addDeserializer(Quantity.class,newMyQuanti

java - 如何用 jackson 反序列化空字符串?

我想用Jackson反序列化一个json,我想将空字符串映射到标准枚举类型。当我尝试将JsonProperty与空字符串一起使用时,它会忽略空值并抛出异常;valuenotoneofdeclaredEnuminstancenames:......,STANDARD,...有什么办法可以解决这个问题吗?publicenumType{@JsonProperty("")STANDARD,@JsonProperty("complex")COMPLEX,....}我的json;...."type":"",.... 最佳答案 @JsonValu